1. The Field of the Invention
The present invention relates to the field of digital scanning devices such as printers. More specifically, the present invention relates to error checking in digital scanning devices.
2. The Relevant Art
In digital scanning devices such as printers, a host computer is often configured to send control data to command various operations of the printer. One type of control data relates to the positioning of page data to be generated by the printer on a print surface.
Typically, in such systems, a printed image is formed using digital data that resides in the page memory of a processor. In one type of printer system, the image from the page memory is formed on a print surface using a scanning laser beam. An area of the print surface on which the image is formed is referred to as a picture element (PEL). One scan of the laser beam across the print surface forms a row of PELs, referred to as a scan row. The image from the page memory is formed with multiple scan rows. Each scan row contains an end of row marker that notifies the print engine that it has reached the end of a row and needs to begin a new row.
Furthermore, when the data is transmitted to the print engine from the host computer, it is broken up into sheets. A sheet is a boundary of the image being transmitted and may contain several pages. It is critical that each sheet begins and ends properly so that elements within the sheet are aligned as intended. To ensure that each sheet is properly positioned, the host computer includes an end of sheet marker in the print data sent to the print engine. Alternatively, a data stream decompressor may mark the last word of a scan or sheet, separately from the print data.
In some printers, a system is used to transmit the data from the host computer to the print engine that employs a set of First-In First-Out (FIFO) buffers to help reduce fluctuations in the flow of the data to the print engine. It is possible to have errors introduced into the data stream within the FIFOs. Should these errors be introduced into a data stream while it is being passed through the FIFO buffers, the printer would print an incorrect image.
The first PEL must be properly positioned in order for the scan rows to be horizontally and vertically aligned on the print surface. Also, the correct end of sheet markers must be received and there must be no errors introduced into the data stream through the use of the FIFO buffers. Should any of the above-mentioned errors occur, the scan rows of the data might xe2x80x9cwalk,xe2x80x9d that is, be misaligned. This misalignment may go undetected if the user of the printer system does not inspect each printed page.
The speed with which printed materials can be generated is of great importance to the performance and appeal of a printing system. In current print systems, scan rows are processed one at a time. While this configuration accomplishes the task of printing materials, it takes a significant amount of time. The speed of the printing process could be significantly increased if a plurality of scan rows were processed simultaneously. Nevertheless, so doing drastically complicates printer control and provides greater capacity for errors such as those described above.
From the above discussion, it can be seen that it would be beneficial to improve the performance of print head controllers by providing a method of error checking and print processing that can reliably detect the conditions discussed above, and especially in printers and other digital scanning devices configured to receive parallel streams of print data.
The method of the present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available error detection methods in digital data reproduction. Accordingly, it is an overall object of the present invention to provide a method that overcomes many or all of the above-discussed shortcomings in the art.
To achieve the foregoing object, and in accordance with the invention as embodied and broadly described herein in the preferred embodiment, an improved method is provided.
The present invention provides a method and apparatus for error checking in a printer system employing a plurality of data streams. The method in one embodiment comprises generating an error detection pattern in a predetermined segment in each of a plurality of data streams. Each of the data streams is then transmitted through a separate data channel to a termination point. When the data streams reach the termination point of their respective data channels, the error detection patterns are concurrently compared to determine if an error has occurred. An exclusive OR circuit may be used for the comparison operations.
If the error detection patterns occur substantially simultaneously in each of the data streams, the monitored errors are not present. The data is merged and transmitted to a print engine for printing. If, however, the error detection patterns indicate that an error is present, transmission of the data is terminated and a notification message is sent to the host computer.
Additional features and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description that follows.